約 3,551,959 件
https://w.atwiki.jp/atuine/pages/33.html
ヒロイモノmidi 9/7 midiの差し替えです。 フォルダごと入れ替えれば使えます。 微妙に音量がそれぞれ違うので、気になったら工夫して下さい。 ヒロイモノmidi パスは hen です DuelOfLegend ↓ File ↓ Midi
https://w.atwiki.jp/mncorelay/pages/1025.html
MIDI(ミディ、Musical Instrument Digital Interface)は、日本のMIDI規格協議会(JMSC、現在の社団法人音楽電子事業協会)と国際団体のMIDI Manufacturers Association (MMA) により策定された、電子楽器の演奏データを機器間でデジタル転送するための世界共通規格。物理的な送受信回路・インタフェース、通信プロトコル、ファイルフォーマットなど複数の規定からなる。 ツクール2000における音楽素材ファイル種類における主力である。 要するに楽譜であり、実行するとその再生するパソコンに内蔵されたMIDI音源を使って自動演奏が行われる。 そういう原理なのでWAVやMP3などに比べるとファイル容量は非常に小さいが再生時のCPU負荷は逆に高いという。 まあ昨今のパソコンなら気にする負荷ではないが。 WindowsXPまではMIDI音源はほぼ自由にインストールできたりハードウェア内蔵音源によって再生させたりできたが、WindowsVistaや7以降はプリインストールされているクソ音源以外で再生することが難しくなってきている。特に64ビット環境だと絶望的である。 作成されているファイルによっては特定の種類のMIDI音源でないと正確に再生されず、ドラムだけ鳴ったりドラムだけ鳴らなかったり、ギター奏法で言うチョーキングみたいな音程変化エフェクト(ピッチベンドという)が機能せずオンチだったりしてしまう。 他者が気を利かせて修正しようものなら、逆に特定の音源環境で相当チープに聞こえてしまったりしてしまう。 MP3などと違い、あまりにもユーザーの再生環境に依存してしまうための悲劇といえよう。 なのでツクール2000作品であるクロスオーバーリレーの音楽をよりきちんと楽しみたいなら、MIDI音源導入に不自由のないWindowsXPあたりのOS環境でプレイすることが推奨される。 セキュリティ面で不安? ていうかもうXPマシンなんて手放した? m9 なおツクールXP・VX・VXAceは強制的に自前MIDI音源で再生される。 ツクールMVはMIDI自体が使えない。 世の中は、どんどんMIDIに冷たくなっている。 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/davinavi/pages/62.html
MIDI ここではMIDIについて紹介。 MIDIとは? お役立ちコード表 (Flashで大体のコードの音がぱっとでるようにしたい) 発想のツールとして。
https://w.atwiki.jp/aniken/pages/137.html
wav・mp3等とは違い、音そのものではなく、楽譜を記録した音声記録の規格。 拡張子は.mid。 パソコンの中にmidi音源(楽譜に対応したドレミの音リスト、シンセサイザー)をインストールし演奏させるのだが、Windowsに標準でインストールされているmidi音源は超チープ。なので、ギャグシーンでの使用か、有料の音源を購入を推奨する。 比較的簡単に作曲できるので、パソコンの知識のある人、音楽に興味のある人は導入を検討してみてはいかが。 ただし、Premireでmidiは認識できないので、レンダリングや録音するなどしてwavやmp3にする必要がある。 関連項目 wav mp3
https://w.atwiki.jp/vst_prog/pages/74.html
トップページ MIDIメッセージ処理 MIDIメッセージにあわせて動作するVSTのサンプルである。 下記VSTはSynthとしてロードされ、常にノイズを発生させる。実行時は音量に注意してほしい。 ノイズのボリュームをMIDI CC7でコントロールできる。 サンプルコード全体 ソースコードのダウンロード→ここをクリック // ============================================================================================// インクルードファイル// ============================================================================================#include stdlib.h #include string.h #include "audioeffectx.h" // ============================================================================================// 設計情報の記入// ============================================================================================#define MY_VST_INPUT_NUM 2 //入力数。モノラル入力=1、ステレオ入力=2#define MY_VST_OUTPUT_NUM 2 //出力数。モノラル出力=1、ステレオ出力=2 #define MY_VST_UNIQUE_ID SMPL //ユニークID //公開する場合は以下URLで発行されたユニークIDを入力する。 //http //ygrabit.steinberg.de/~ygrabit/public_html/index.html #define MY_VST_PRESET_NUM 1 //プリセットプログラムの数#define MY_VST_PARAMETER_NUM 0 //パラメータの数 // ============================================================================================// MIDI処理用の定義// ============================================================================================#define MIDIMSG_MAXNUM 255 struct MidiMessage{VstInt32 deltaFrames; //MIDIメッセージを処理するタイミングunsigned char message; //MIDIメッセージ番号unsigned char channel; //MIDIチャンネルunsigned char data1; //MIDIデータ1unsigned char data2; //MIDIデータ2}; // ============================================================================================// VSTの基本となるクラス// ============================================================================================class MyMidiSampleVST public AudioEffectX{protected int midimsgnum; //受け取ったMIDIメッセージの数MidiMessage midimsgbuf[MIDIMSG_MAXNUM]; //受け取ったMIDIメッセージを保管するバッファ // ノイズのボリュームfloat volume;public MyMidiSampleVST (audioMasterCallback audioMaster); // 音声信号を処理するメンバー関数virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames); // MIDIメッセージをホストアプリケーションから受け取るためのメンバー関数VstInt32 processEvents (VstEvents* events);}; // ============================================================================================// このVSTのを生成するための関数// ============================================================================================AudioEffect* createEffectInstance (audioMasterCallback audioMaster){//newでこのVSTを生成したポインタを返すreturn new MyMidiSampleVST (audioMaster);} MyMidiSampleVST MyMidiSampleVST (audioMasterCallback audioMaster) AudioEffectX (audioMaster, MY_VST_PRESET_NUM, MY_VST_PARAMETER_NUM){//VSTの初期化を行う。 //以下の関数を呼び出して入力数、出力数等の情報を設定する。//必ず呼び出さなければならない。setNumInputs (MY_VST_INPUT_NUM); //入力数の設定setNumOutputs (MY_VST_OUTPUT_NUM); //出力数の設定setUniqueID (MY_VST_UNIQUE_ID); //ユニークIDの設定 isSynth (true); //このVSTがSynthかどうかのフラグを設定。 //Synthの場合…true、Effectorの場合…false canProcessReplacing (); //このVSTが音声処理可能かどうかのフラグを設定。 //音声処理を行わないVSTはないので必ずこの関数を呼び出す。 //上記の関数を呼び出した後に初期化を行うmidimsgnum = 0;memset(midimsgbuf, 0, sizeof(MidiMessage) * MIDIMSG_MAXNUM); volume = 1.0f;} void MyMidiSampleVST processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames){//入力、出力は2次元配列で渡される。//入力は-1.0f~1.0fの間で渡される。//出力は-1.0f~1.0fの間で書き込む必要がある。//sampleFramesが処理するバッファのサイズfloat* outL = outputs[0]; //出力 左用float* outR = outputs[1]; //出力 右用 // midieventlistの読み込み位置int midimsg_cursol = 0; for (int i = 0; i sampleFrames; i++){//ここで音声処理を行う。 // MIDIメッセージがあるか確認if ( midimsgnum 0){// MIDIメッセージを処理するタイミングかどうかを確認する。if( midimsgbuf[midimsg_cursol].deltaFrames = i){// MIDIメッセージがコントロールチェンジのボリューム変更(CC7)であった場合if( midimsgbuf[midimsg_cursol].message == 0xB0 midimsgbuf[midimsg_cursol].data1 == 7){volume = (float)( midimsgbuf[midimsg_cursol].data2) / 127.0f;} // midimsgbufからMIDIメッセージを読み出したので// 読み込み位置を進め、MIDIメッセージの数を減らすmidimsgnum--;midimsg_cursol++;}} //出力バッファへ書き込む。outL[i] = volume * (float)((rand() % 256) -128) / 255.0f;outR[i] = volume * (float)((rand() % 256) -128) / 255.0f;}} // MIDIメッセージを処理するメンバー関数// processReplacing()の前に必ず1度だけ呼び出される。// VstInt32 MyMidiSampleVST processEvents (VstEvents* events){// MIDIのリストを初期化します。midimsgnum = 0;memset(midimsgbuf, 0, sizeof(MidiMessage) * MIDIMSG_MAXNUM); // VSTイベントの回数だけループをまわす。int loops = (events- numEvents);for (int i = 0;i loops; i++){// 与えられたイベントがMIDIならばmidimsgbufにストックするif ((events- events[i])- type == kVstMidiType){VstMidiEvent *midievent = (VstMidiEvent*)(events- events[i]); midimsgbuf[midimsgnum].deltaFrames = midievent- deltaFrames;midimsgbuf[midimsgnum].message = midievent- midiData[0] 0xF0; // MIDIメッセージmidimsgbuf[midimsgnum].channel = midievent- midiData[0] 0x0F; // MIDIチャンネルmidimsgbuf[midimsgnum].data1 = midievent- midiData[1]; // MIDIデータ1midimsgbuf[midimsgnum].data2 = midievent- midiData[2]; // MIDIデータ2midimsgnum++; // MIDIメッセージのバッファがいっぱいの場合はループを打ち切る。if (i = MIDIMSG_MAXNUM){break;}}} // 1を返しておくreturn 1;} VST Tipsトップページへ 同一カテゴリのTips 項目 No. 概要 MIDIメッセージ処理 No.1 MIDIメッセージ処理で最小構成の自作VSTに追加する変数・関数 No.2 VSTの初期化とMIDIメッセージ処理関連の変数の初期化 No.3 ホストアプリケーションからMIDIメッセージを受け取る方法 No.4 MIDIメッセージをprocessReplacing()関数中で処理する方法 No.5 MIDIメッセージ処理で作成したVSTのサンプルソースコード全体(暫定版)
https://w.atwiki.jp/ce00582/pages/3630.html
game0303 (1)プログラム http //www15.atwiki.jp/ce00582/pages/3398.html (2)コメント key MIDI (3)リンク http //www.ruimo.com/howto/java/midi/ (4)作業記録 2月13日 ページ作成
https://w.atwiki.jp/tri-obog/pages/163.html
これまでLinuxへの移行をためらっていた最大の理由がMIDIシーケンサ。 けれど、いろいろシーケンサソフトも出てきているようなので、 何とかなるだろうという根拠のない自信でスタート。 これがクリアされれば、大方移行は成功と見て間違いないはず。 導入ソフト Jack Audio Connection Kit 最大の難関。これが思ったように動いてくれないことが、音声関係の問題の原因の大多数。 Timidity GUIも提供されているが、基本はターミナルから起動する。 Rosegarden MIDIシーケンサ。楽譜も作れる・・・・・・らしい。 Jack Audio Connection Kitの設定 Setupから立ち上がるウインドウで、意外と多く設定が必要になる。 ・「Realtime」のチェックを外す(理由は分からないが、多くのサイトで外すよう指示している) ・「MIDI Driver」でseqを選択する ・「Output Device」適切なものを選択する(PCによって違うのでなんとも言えないが、 Jackなしで音がでるのに、Jack有だと音が出ない原因はこれの可能性あり) 設定が終わり次第、 Jack Audio Connection Kitを起動 ターミナルで「timidity -iA -Oj」と入力してtimidity起動 Rosegardenを起動 という順番でRosengardenからmidiを読み込んで流すことが出きるようになる。 ちなみに、timidityのオプションは、大雑把に言うと 「-iA」が他のアプリケーションでのMIDI出力を受け取るためのもの、 「-Oj」がJackに出力を渡すためのもの。 編集とか出力については、また後日。 戻る 前の項目(メール)
https://w.atwiki.jp/kerupani129/pages/21.html
MIDI 自作のMIDI等をうpしていきます。 一覧 【FC】BGM_001【ゆめにっき】 (音源:SD-90)ゆめにっきのBGM、FCの曲のBGM_001を下手ながら耳コピしてみました。音源は全然違うものを使っていますが、これはこれでよい感じだと思います。 Bad Apple!! (音源:SD-90)東方幻想郷より。PMDを直接変換したデータで、耳コピではないので、まずいのなら消します。 Kerupani129 Song (音源:SD-90)Kerupani Song 2011のさらにアレンジverです。録音時には、ドラムだけSC-88Proを使用しましたが、MIDIを再生する分にはSD-90だけで事足りるかと思います。(っていうかそもそもそんな需要ないよね…orz)
https://w.atwiki.jp/momijikissa/pages/84.html
MIDIから変換する方法 byくろちさん とりあえず最低限だけ記入しました。 補足等あったら追記お願いします! わからないことあったら、直接聞いてくれたら分かる範囲だったら答えます(´・ω・`) byフィリたん まずは3mleというソフトをダウンロードするよ。 ここからリンクに飛べるよ リンクに飛んだらこんな画面が出てくるよ。英語で分かりづらいけどここをクリック! Point 他のところはクリックしないようにしようね。最悪の場合ウイルスだったりでパソコンがダメになる可能性もあるよ! そしたらこの画面が出るからここをクリック! するとダウンロードされるよ! さて、ダウンロードが終わったら解凍解凍! (解凍?なにそれって人はグーグルとかヤフーとかで検索してね。 需要が多いようならここにも載せるかも) 解凍ができたら3MLE_MapleBeats_Edition.exeを起動しよう! まずはファイル→標準MIDIファイルを入力を選択。 Point 最初は表記が英語になってると思うけど日本語に変えたい!って人もいるよね?そんな時はSettings→Language→Built-in Language(ja)を選択しよう!すると日本語表記に!英語を勉強するつもりじゃないならこっちの方がやりやすいよ。一部は英語表記のままだけど仕方ないから我慢しようね。 そうするとファイルを選ぶ画面になるから読み込みたいmidiファイルを選ぼう。 選ぶとこんな画面が表示されるよ。 (ここではDominoで作ったmidiファイルを読み込んでいるよ。他のmidiだとちょっと右下の表記が違うかも?) でもこのまま読み込むとエラーが出るよ。 分かる人は分かると思うけど初心者にはどういう意味か分かりにくいね(;´Д`) この原因は右下にあるよ。 実はこの中から1つしか読み込めないの。 複数のトラックを読み込みたい場合、その数分この作業をしないとね。 Point 右のチェックマークをクリックすると全選択、全解除ができるよ。最初は全部選択された状態だからまずはこれをクリックして全部解除状態にしてから読み込みたいトラックを選んだほうが楽だね。 1つ選択して決定を押すとこんな画面がでると思うよ。 Point 同時に2つ以上の音がなる時トラックは分けられるよ。分かりにくいって人もいるかもしれないけど要は下の画像みたいな状態ってこと。 ここまでくればあと一息! 下のテキストをコピー。 Point コピーはコピーしたい分を選んで「Ctrl+C」で出来るよ! そしてメイプルストーリー2の作曲画面にペースト! Point ペーストは入力する部分をクリックして「Ctrl+V」で出来るよ! これで出来上がり…じゃないのよね。 というのもこのままテスト再生をするとおかしい部分が… そんな時はこれが原因! これはいらない部分だから削除すればいい感じにつながると思うよ。 (画像では全部削除しちゃってるけど面倒な時はおかしい部分だけ削除すればいいよ。) あと、テンポは自動で記入されないからテンポはちゃんと書くようにしようね! これをトラックの数分やれば完成! テスト再生はちゃんとしようね!作った後でおかしいところが見つかったら面倒だよ(´・ω・`) Point 3MLEのトラックの内1つにこんなのがあるけどこれはコピペしなくていいものだよ。 ※くろちさんの最適化はやってもいいけど私の場合やったら逆に要らないものが分かりづらくて消すのが大変だったからこの方法では使ってないよ。 ※記載されてる内容は、参考程度にお願いします。 ※追記などあればご自由に編集してください。
https://w.atwiki.jp/javastudy/pages/33.html
第7章 ★文字の読み込み ■テキストファイルの読み込み手順 ①ファイルを開く FileReader(ストリームクラス)のオブジェクトを生成してファイルを開く FileReader in = new FileReader(“file1.txt”); ②データを読み込む read()メソッドを使用する。読み込んだ文字をint型の整数で返す。 読み込むデータがなくなるとー1を返す。 int c; c = in.read(); ③ファイルを閉じる close()メソッドを使用 in.close(); ※ファイルを最後まで読み込む場合はread()メソッドがー1を返すまで読み込みを繰り返す。 int c; String s = new String(); While((c = in.read()) ! = -1) s = s + (char)c; ↑読み込んだデータを文字型に変換し、Stringクラスのオブジェクトに代入 ■ サンプルプログラム import java.io.*; class ReadText { public static void main(String[] args) { try { FileReader in = new FileReader(args[0]); int c; String s = new String(); while((c = in.read()) ! = -1) s = s + (char)c; System.out.println(s); in.close(); }catch (IOException ie) { System.out.println("ファイルがありません"); }catch (Exception e) { System.out.println("ファイル指定がありません"); } } }